package com.kaochong.xcx.service;

import com.kaochong.xcx.entity.UserStageWords;
import com.kaochong.xcx.pojo.cache.WordModel;
import com.kaochong.xcx.pojo.vo.LearnWordVO;
import com.kaochong.xcx.web.aspect.CurrentUser;

import java.util.List;

/**
 * @author han
 * @date 2018-05-02 16:37
 */
public interface UserStageWordsService {
	
	/**
	 * 重置用户题库
	 * @param userId
	 * @param target
	 * @param targetMarkId
	 */
	void reset(Long userId, Integer target, String targetMarkId);
	
	/**
	 * 查询用户阶段单词
	 * @param userId
	 * @param targetMarkId
	 * @param currStage
	 * @return
	 */
	UserStageWords findUserStageWord(Long userId, String targetMarkId, Integer currStage);
	
	/**
	 * 获取用户当前阶段单词
	 * @param user
	 * @return
	 */
	List<WordModel> getUserStageWord(CurrentUser user);
	
	/**
	 * 已学单词列表
	 * @param user
	 * @param stage 阶段查询
	 * @return
	 */
	List<LearnWordVO> learnList(CurrentUser user, Integer stage);
	
	/**
	 * 重置单词书，删除用户相关内容
	 * @param userId
	 * @param targetMarkId
	 * @return
	 */
	Integer deleteUserStage(Long userId, String targetMarkId);
}
